import re
from web.models import Files

def isFilesOrDirs(src_path, user_ID):
    t = Files.objects.filter(user_ID=int(user_ID)).values('path')
    for i in range(len(t)):
        
        try:
            # 在t[i]['path']中去除src_path
            path = t[i]['path'].replace(src_path, '', 1)
            if path != t[i]['path']:
                if len(path.split('/')) >= 2:
                    return '文件夹'
        except:
            pass
    return '文件'

def toDirs(src_path, user_ID):
    Dirs = {}
    # 根据路径命名文件夹
    Dirs['name'] = src_path.split('/')[-1]
    # 根据 user_id 找到 文件 的 name 与 size，加入到列表的相应字典中
    t = Files.objects.values('path', 'size', 'm_time').filter(user_ID=user_ID)
    # 获取该路径下的所有文件的大小之和
    size = 0
    time = t[0]['m_time']
    for j in range(len(t)):
        try: 
            re.match(src_path, t[j]['path']).group()
            if time > t[j]['m_time']:
                time = t[j]['m_time']
            size = size + int(t[j]['size'])
        except:
            pass
    Dirs['size'] = size
    # 路径
    Dirs['path'] = src_path
    # 时间
    Dirs['m_time'] = time
    # 类型
    Dirs['type'] = isFilesOrDirs(src_path, user_ID)
        
    return Dirs